"""
继承

Version: 0.1
Author: yuwl
Date：2024-3-26
"""

class Person(object):

    def __init__(self, name, age):
        self._name = name
        self._age = age

    @property
    def name(self):
        return self._name
    
    @property
    def age(self):
        return self._age
    
    @name.setter
    def name(self, name):
        self._name = name

    @age.setter
    def age(self, age):
        self._age = age

    def play(self):
        print('%s正在愉快的玩耍。' % self._name)

    def watch_tv(self):
        if self._age >= 18:
            print('%s正在观看动作片' % self._name)
        else:
            print('%s只能观看熊出没' % self._name)

class Student(Person):
    
    def __init__(self, name, age, grade):
        super().__init__(name, age)
        self._grade = grade

    @property
    def grade(self):
        return self._grade
    
    @grade.setter
    def grade(self, grade):
        self._grade = grade

    def study(self, course):
        print('%s的%s正在学习%s.' % (self.grade, self._name, course))

class Teacher(Person):
    
    def __init__(self, name, age, title):
        super().__init__(name, age)
        self._title = title

    @property
    def title(self):
        return self._title
    
    @title.setter
    def title(self, title):
        self._title = title

    def teach(self, course):
        print('%s%s正在讲%s.' % (self._name, self._title, course))

def main():
    stu = Student('张三', 15, '初三')
    stu.study('数学')
    stu.watch_tv()
    t = Teacher('李斯', 38, '丞相')
    t.teach('Python程序设计')
    t.watch_tv()

if __name__ == '__main__':
    main()